<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body></body>

</html>

<script>
  /* 
  面试问题： JS中有哪些数据类型？
    JS  分成两类 数据类型：
      第一类：基础数据类型（5种）
        - number
        - string
        - boolean
        - undefined
          作用：声明变量，但为给其赋值，则变量的默认值为 undefined。

        - null（算 先天的缺陷）
          -> why？
            原因：
              1）null 和 undefined 的作用，几乎一致。
              2）返回类型： `typeof null`  返回值是 `object`。

      第二类：复杂数据类型
*/

  /* 复习 变量声明的 4种方式：
最常用的写法：
  var 变量名 = 表达式;

声明变量，但不赋值：
  var 变量名; // 注：变量名 默认值则为 undefined


声明多个变量，并给其赋值：
  var 变量1 = 表达式1, 变量2 = 表达式2, 变量3 = 表达式4 ...;

声明多个变量，但不给其赋值：
  var 变量1, 变量2, ...;



什么是「表达式」？
  -> 只要 最终的返回值 是「数据」，那么就可以称为 表达式。
  var data = 123;

  data 是不是表达式？？？  -> true
  `1 + 2 / 4` 是不是表达式？？？   -> true
  '你好我是字符串' 是不是表达式？？？  -> true
*/

  /* 单独补充， 声明语句 `;`
  分号的作用：用于 结束 一条语句；
      var 变量名 = 表达式;
  



    注：  `JS是一门 想方设法 不报错 的语言`，其是 JS 的 `产品设计` 思路。
      思考: why ? 为什么 JS 要这么设计？
        原因？ -> 好处：对新手程序员友好； 即 初级程序员，也很容易上手 JS。


        其中一个 不报错的点： `;` 可以省略； 即 分号，可有可无。



    报错的频率：
      JS 是想方设法不报错。

      java/C++： 都是 ，只要有一点”“瑕疵/问题”，都会报错。
*/

  var num1 = 123, num2 = 456
  console.log(num1, num2, xxxx)
</script>